<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Cci.PeReader</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Cci.MetadataReader.CoreTypes">
            <summary>
            These types can all be implicitly referenced in IL and metadata and hence need special treatment.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.ObjectModelImplementation.ExpressionBase.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.MetadataObject">
            <summary>
            Represents a metadata entity. This has an associated Token Value...
            This is used in maintaining type spec cache.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReaderException">
            <summary>
            Generic exception thrown by the internal implementation. This exception is not meant to be leaked outside, hence all the
            public classes where this exception can be thrown needs to catch this.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.IMetadataReaderErrorsReporter">
            <summary>
            This interface is implemented by providers of Module read write errors. That is, errors discovered while reading the metadata/il.
            Many of these errors will be discovered incrementally and as part of background activities.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReaderErrorsReporter">
            <summary>
            Dummy class to identify the error reporter.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.PeReader">
            <summary>
            Factory for loading assemblies and modules persisted as portable executable (pe) files. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.PeReader.#ctor(Microsoft.Cci.IMetadataReaderHost)">
            <summary>
            Allocates a factory for loading assemblies and modules persisted as portable executable (pe) files.
            </summary>
            <param name="metadataReaderHost">
            The host is used for providing access to pe files (OpenBinaryDocument),
            applying host specific unification policies (UnifyAssembly, UnifyAssemblyReference, UnifyModuleReference) and for deciding
            whether and how to load referenced assemblies and modules (ResolvingAssemblyReference, ResolvingModuleReference).    
            </param>
        </member>
        <member name="M:Microsoft.Cci.PeReader.RegisterCoreAssembly(Microsoft.Cci.MetadataReader.ObjectModelImplementation.Assembly)">
            <summary>
            Registers the core assembly. This is called by PEFileToObjectModel when it recognizes that assembly being loaded is the Core assembly as
            identified by the Compilation Host.
            </summary>
            <param name="coreAssembly"></param>
        </member>
        <member name="M:Microsoft.Cci.PeReader.OpenMemberModules(Microsoft.Cci.IBinaryDocument,Microsoft.Cci.MetadataReader.ObjectModelImplementation.Assembly)">
            <summary>
            This method is called when an assembly is loaded. This makes sure that all the member modules of the assembly are loaded.
            </summary>
            <param name="binaryDocument"></param>
            <param name="assembly"></param>
        </member>
        <member name="M:Microsoft.Cci.PeReader.OpenAssembly(Microsoft.Cci.IBinaryDocument,Microsoft.Cci.AssemblyIdentity@)">
            <summary>
            Method to open the assembly in MetadataReader. This method loads the assembly and returns the object corresponding to the
            opened assembly. Also returns the AssemblyIdentifier corresponding to the assembly as the out parameter.
            Only assemblies that unify to themselves can be opened i.e. if the unification policy of the compilation host says that mscorlib 1.0 unifies to mscorlib 2.0
            then only mscorlib 2.0 can be loaded.
            </summary>
            <param name="binaryDocument">The binary document that needes to be opened as an assembly.</param>
            <param name="assemblyIdentity">Contains the assembly identifier of the binary document in case it is an assembly.</param>
            <returns>Assembly that is loaded or Dummy.Assembly in case assembly could not be loaded.</returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.OpenModule(Microsoft.Cci.IBinaryDocument,Microsoft.Cci.ModuleIdentity@)">
            <summary>
            Method to open the module in the MetadataReader. This method loads the module and returns the object corresponding to the opened module.
            Also returns the ModuleIDentifier corresponding to the module as the out parameter. Modules are opened as if they are not contained in any assembly.
            </summary>
            <param name="binaryDocument">The binary document that needes to be opened as an module.</param>
            <param name="moduleIdentity">Contains the module identity of the binary document in case it is an module.</param>
            <returns>Module that is loaded or Dummy.Module in case module could not be loaded.</returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.OpenAssembly(Microsoft.Cci.IBinaryDocument)">
            <summary>
            Method to open the assembly in MetadataReader. This method loads the assembly and returns the object corresponding to the
            opened assembly. Also returns the AssemblyIdentifier corresponding to the assembly as the out parameter.
            Only assemblies that unify to themselves can be opened i.e. if the unification policy of the compilation host says that mscorlib 1.0 unifies to mscorlib 2.0
            then only mscorlib 2.0 can be loaded.
            </summary>
            <param name="binaryDocument">The binary document that needes to be opened as an assembly.</param>
            <returns>Assembly that is loaded or Dummy.Assembly in case assembly could not be loaded.</returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.OpenModule(Microsoft.Cci.IBinaryDocument)">
            <summary>
            Method to open the module in the MetadataReader. This method loads the module and returns the object corresponding to the opened module.
            Also returns the ModuleIDentifier corresponding to the module as the out parameter. Modules are opened as if they are not contained in any assembly.
            </summary>
            <param name="binaryDocument">The binary document that needes to be opened as an module.</param>
            <returns>Module that is loaded or Dummy.Module in case module could not be loaded.</returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.LookupAssembly(Microsoft.Cci.IModule,Microsoft.Cci.AssemblyIdentity)">
            <summary>
            Does a look up in the loaded assemblies if the given assembly identified by assemblyIdentifier is loaded. This also gives a chance to MetadataReaderHost to
            delay load the assembly if needed.
            </summary>
            <param name="referringModule"></param>
            <param name="unifiedAssemblyIdentity"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.LookupModule(Microsoft.Cci.IModule,Microsoft.Cci.ModuleIdentity)">
            <summary>
            Does a look up in the loaded modules if the given module identified by moduleIdentifier is loaded. This also gives a chance to MetadataReaderHost to
            delay load the module if needed.
            </summary>
            <param name="referringModule"></param>
            <param name="moduleIdentity"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.GetAssemblyIdentifier(Microsoft.Cci.IBinaryDocument)">
            <summary>
            If the given binary document contains a CLR assembly, return the identity of the assembly. Otherwise, return null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.PeReader.GetAssemblyIdentifier(Microsoft.Cci.MetadataReader.PEFile.PEFileReader)">
            <summary>
            Computes the AssemblyIdentifier of the PE File. This requires that peFile is an assembly.
            </summary>
            <param name="peFileReader"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.GetModuleIdentifier(Microsoft.Cci.MetadataReader.PEFile.PEFileReader)">
            <summary>
            Computes the ModuleIdentifier of the PE File as if the module did not belong to any assembly.
            </summary>
            <param name="peFileReader"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.GetModuleIdentifier(Microsoft.Cci.MetadataReader.PEFile.PEFileReader,Microsoft.Cci.AssemblyIdentity)">
            <summary>
            Computes the ModuleIdentifier of the PE File as if the module belong to given assembly.
            </summary>
            <param name="peFileReader"></param>
            <param name="containingAssemblyIdentity"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.FindModule(Microsoft.Cci.ModuleIdentity)">
            <summary>
            Returns the module corresponding to passed moduleIdentifier if it was loaded.
            </summary>
            <param name="moduleIdentity"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.FindAssembly(Microsoft.Cci.AssemblyIdentity)">
            <summary>
            Returns the assembly corresponding to passed assemblyIdentifier if it was loaded.
            </summary>
            <param name="unifiedAssemblyIdentity">THe assembly Identifier that is unified with respect to the compilation host.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.PeReader.ResolveSerializedTypeName(System.String,Microsoft.Cci.IAssembly)">
            <summary>
            Resolves the serialized type name as if it belonged to the passed assembly.
            </summary>
            <param name="typeName">Serialized type name.</param>
            <param name="assembly">Assembly in which this needs to be resolved. If null then it is to be resolved in mscorlib.</param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.PeReader.OpenedModules">
            <summary>
            Lists all the opened modules.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.PeReader.DefaultHost">
            <summary>
            A simple host environment using default settings inherited from MetadataReaderHost and that
            uses PeReader as its metadata reader.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.PeReader.DefaultHost.#ctor">
            <summary>
            Allocates a simple host environment using default settings inherited from MetadataReaderHost and that
            uses PeReader as its metadata reader.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.PeReader.DefaultHost.#ctor(Microsoft.Cci.INameTable)">
            <summary>
            Allocates a simple host environment using default settings inherited from MetadataReaderHost and that
            uses PeReader as its metadata reader.
            </summary>
            <param name="nameTable">
            A collection of IName instances that represent names that are commonly used during compilation.
            This is a provided as a parameter to the host environment in order to allow more than one host
            environment to co-exist while agreeing on how to map strings to IName instances.
            </param>
        </member>
        <member name="M:Microsoft.Cci.PeReader.DefaultHost.LoadUnitFrom(System.String)">
            <summary>
            Returns the unit that is stored at the given location, or a dummy unit if no unit exists at that location or if the unit at that location is not accessible.
            </summary>
            <param name="location">A path to the file that contains the unit of metdata to load.</param>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.Errors.IDirectoryLocation">
            <summary>
            Represents a location in a directory of the PE File.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IDirectoryLocation.BinaryDocument">
            <summary>
            The binary document corresponding to the PE File.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IDirectoryLocation.DirectoryName">
            <summary>
            The name of the directory of the PE File.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IDirectoryLocation.Offset">
            <summary>
            Offset into the directory.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.Errors.IMetadataStreamLocation">
            <summary>
            Represents a location in the Metadata stream.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataStreamLocation.BinaryDocument">
            <summary>
            The binary document corresponding to the metadata stream.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataStreamLocation.StreamName">
            <summary>
            The name of the metadata stream corresponding to the location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataStreamLocation.Offset">
            <summary>
            Offset into the IL Stream.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.Errors.IMetadataLocation">
            <summary>
            Represents a location in the Metadata tables.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataLocation.BinaryDocument">
            <summary>
            The binary document corresponding to the metadata tables.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataLocation.TableName">
            <summary>
            The name of the table represented by the location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.Errors.IMetadataLocation.RowId">
            <summary>
            The row number corresponding to the location.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.MetadataDefinitionObject">
            <summary>
            Base class of Namespaces/Types/TypeMembers.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.ObjectModelImplementation.Namespace.RootOwner">
            <summary>
            The object associated with the namespace. For example an IUnit or IUnitSet instance. This namespace is either the root namespace of that object
            or it is a nested namespace that is directly of indirectly nested in the root namespace.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.ObjectModelImplementation.GenericTypeInstanceMember.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.MethodBodyDocument">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.MethodBodyDocument.#ctor(Microsoft.Cci.MetadataReader.ObjectModelImplementation.MethodDefinition)">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.MethodBodyDocument.GetTypeFromToken(System.UInt32)">
            <summary>
            
            </summary>
            <param name="standAloneSignatureToken"></param>
            <returns></returns>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyDocument.Location">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyDocument.MethodToken">
            <summary>
            
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyDocument.Name">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.MethodBodyLocation">
            <summary>
            Represents a location in IL operation stream.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.MethodBodyLocation.#ctor(Microsoft.Cci.MetadataReader.MethodBodyDocument,System.UInt32)">
            <summary>
            Allocates an object that represents a location in IL operation stream.
            </summary>
            <param name="document">The document containing this method whose body contains this location.</param>
            <param name="offset">Offset into the IL Stream.</param>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyLocation.Document">
            <summary>
            The document containing this method whose body contains this location.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyLocation.MethodDefinition">
            <summary>
            The method whose body contains this IL operation whose location this is.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MetadataReader.MethodBodyLocation.Offset">
            <summary>
            Offset into the IL Stream.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.Module">
            <summary>
            The module which this PEFile corresponds to.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.AssemblyReferenceArray">
            <summary>
            Cache for assembly references. This indexes from row id to assembly reference.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ModuleReferenceArray">
            <summary>
            Cache for module references. This indexes from row id to module reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.LoadAssemblyReferences">
            <summary>
            Populates the list of assembly references.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.LoadModuleReferences">
            <summary>
            Populates the list of module references.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.FindAssemblyReference(Microsoft.Cci.AssemblyIdentity)">
            <summary>
            Finds the assembly ref token corresponding to the given assembly identifier.
            </summary>
            <param name="assemblyIdentity"></param>
            <returns></returns>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.FileReferenceArray">
            <summary>
            Cache for file referneces of the assembly.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResourceReferenceArray">
            <summary>
            Cache for Resource referneces of the assembly.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.InitFileReferenceArray">
            <summary>
            Populates the File reference cache.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.InitResourceReferenceArray">
            <summary>
            Populates the Resource reference cache
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveNamespaceTypeDefinition(Microsoft.Cci.IName,Microsoft.Cci.IName)">
            <summary>
            Given a namespace full name and type's mangled name this method resolves it to a TypeBase.
            </summary>
            <param name="namespaceName"></param>
            <param name="mangledTypeName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveNestedTypeDefinition(Microsoft.Cci.MetadataReader.ObjectModelImplementation.TypeBase,Microsoft.Cci.IName)">
            <summary>
            Given a parent type and mangled type name of the nested type, this method resolves it.
            </summary>
            <param name="parentType"></param>
            <param name="typeName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveExportedNamespaceType(Microsoft.Cci.IName,Microsoft.Cci.IName)">
            <summary>
            Given a namespace full name and type's mangled name this method resolves it to an aliased type.
            Aliased type can further be walked to find the exact type it resolved to.
            </summary>
            <param name="namespaceName"></param>
            <param name="mangledTypeName"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveExportedNestedType(Microsoft.Cci.MetadataReader.ObjectModelImplementation.ExportedTypeAliasBase,Microsoft.Cci.IName)">
            <summary>
            Given a alias type and type's mangled name this method resolves it to a nested aliased type.
            Aliased type can further be walked to find the exact type it resolved to.
            </summary>
            <param name="parentType"></param>
            <param name="typeName"></param>
            <returns></returns>
        </member>
        <member name="F:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ModuleTypeRefReferenceArray">
            <summary>
            Cache for type ref's in the module.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveModuleTypeRefReference(Microsoft.Cci.MetadataReader.ObjectModelImplementation.TypeRefReference)">
            <summary>
             This method resolves TypeRef as a non exported type. i.e. the said type reference refers to the type
             in the type def table direcly rather than exported type table of the assembly.
            </summary>
            <param name="moduleTypeRefReference"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.ResolveNamespaceTypeRefReferenceAsExportedType(Microsoft.Cci.MetadataReader.ObjectModelImplementation.NamespaceTypeRefReference)">
            <summary>
            This method resolved the TypeRef as an exported type. i.e. the said type reference refers to the type
            in exported type table.
            </summary>
            <param name="moduleTypeRefReference"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.PEFileToObjectModel.FindExportedType(Microsoft.Cci.MetadataReader.ObjectModelImplementation.ExportedTypeAliasBase)">
            <summary>
            Finds the given aliased type in the exported type table.
            </summary>
            <param name="aliasAliasBase"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.ModuleTypeKind">
            <summary>
            Enumeration to identify various type kinds
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.ModuleSignatureTypeCode">
            <summary>
            A enumeration of all of the types that can be used in IL operations.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.IModuleTypeReference">
            <summary>
            Module specific type reference. In case of error null value is used rather than a dummy. This contains methods for
            specializing the type when doing generic instantiations.
            Resolving returns null rather than Dummy in case of failure.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.IModuleTypeDefAndRef">
            <summary>
            Type that is a definition too. This supports resolving internal method and field references.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.IModuleNominalType">
            <summary>
            This represents either a namespace or nested type. This supports fast comparision of nominal types using interned module is, namespace name, type name
            and parent type reference in case of nested type.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.CoreTypeReference">
            <summary>
            Represents the core types such as int, float, object etc from the core assembly.
            These are created if these types are not directly referneced by the assembly being loaded.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MetadataReader.ObjectModelImplementation.TypeRefReference">
            <summary>
            Represents type reference to types in TypeRef table. This could either be Namespace type reference or nested type reference.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MetadataReader.ObjectModelImplementation.TypeCache.LeastUpperBound(Microsoft.Cci.TypeMemberVisibility,Microsoft.Cci.TypeMemberVisibility)">
            <summary>
            Least upper bound of the Type member visibility considered as the following lattice:
                     Public
                 FamilyOrAssembly
               Family        Assembly
                 FamilyAndAssembly
                     Private
                     Other
            </summary>
            <param name="left"></param>
            <param name="right"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.UtilityDataStructures.MemoryReader.ReadCompressedUInt32">
            <summary>
            Returns -1 if the first byte is 0xFF. This is used to represent the index for the null string.
            </summary>
        </member>
    </members>
</doc>
